#ifndef __GPS_H__
#define __GPS_H__

// 定义结构体 gprmc_data，用于存储解析后的 GPS 数据
struct gprmc_data {
    char id;         // 数据标识（未使用）
    int time;      // UTC 时间（hhmmss.sss 格式）
    char state;      // 状态指示（A=有效，V=无效）
    float latitude;  // 纬度（ddmm.mmmm 格式）
    char NS;         // 纬度半球（N=北半球，S=南半球）
    float longitude; // 经度（dddmm.mmmm 格式）
    char EW;         // 经度半球（E=东经，W=西经）
    float speed;     // 地面速率（节）
    int date;        // UTC 日期（ddmmyy 格式）
    char mode;       // 模式指示（A=自主定位，D=差分定位）
    char check;      // 校验位（未使用）
};

// 声明函数原型：设置串口参数
extern int set_uart(int fd, int speed, int bits, char check, int stop);

// 声明函数原型：解析 GPS 数据
extern void get_gps_data(char *buff, struct gprmc_data *gps_data);

#endif
